package com.juli.school.app.controller.module;

import java.util.List;

import javax.annotation.Resource;

import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import com.juli.school.dao.entity.Pub;
import com.juli.school.service.bo.MissBo;
import com.juli.school.service.bo.RecBo;
import com.juli.school.service.enums.EnumModule;
import com.juli.school.service.impl.MissService;
import com.juli.school.service.impl.RecService;
import com.juli.school.utils.core.model.CommonResp;
import com.juli.school.utils.core.model.ListResp;
import com.juli.school.utils.core.model.PageResp;

/**
 * @Description: 失物招领控制器
 * @author gaoxiang
 * @date 2017年8月24日 下午10:07:23
 */ 
@Controller
@RequestMapping("/miss")
public class MissController {
	
	@Resource
	MissService missService;
	
	@Resource
	RecService recService;
	
	/**
	 * @Description: 新增失物招领信息
	 * @author gaoxiang
	 * @date 2017年9月16日 下午10:26:35
	 */
	@RequestMapping(value="/add",method=RequestMethod.POST)
	@ResponseBody CommonResp<String> add(MissBo missBo) {
		missBo.setType(EnumModule.Miss.code);
		return missService.add(missBo);
	}
	
	/**
	 * @Description: 修改失物招领信息
	 * @author gaoxiang
	 * @date 2017年9月16日 下午10:26:35
	 */
	@RequestMapping("/update")
	@ResponseBody CommonResp<String> update(MissBo missBo) {
		missBo.setType(EnumModule.Miss.code);
		return missService.update(missBo);
	}
	
	/**
	 * @Description: 删除失物招领信息
	 * @author gaoxiang
	 * @date 2017年9月16日 下午10:26:35
	 */
	@RequestMapping("/delete")
	@ResponseBody CommonResp<String> delete(String snStamp, String stuId) {
		return missService.delete(snStamp, stuId);
	}
	
	/**
	 * @Description: 分页查询失物招领信息
	 * @author gaoxiang
	 * @date 2017年9月16日 下午10:27:17
	 */
	@RequestMapping("/listPage")
	@ResponseBody CommonResp<PageResp<MissBo>> listPage(MissBo missBo) {
		missBo.setType(EnumModule.Miss.code);
		return missService.listPage(missBo);
	}
	
	/**
	 * @Description: 增量查询失物招领信息列表
	 * @author gaoxiang
	 * @date 2017年9月16日 下午10:27:17
	 */
	@RequestMapping("/list")
	@ResponseBody CommonResp<ListResp<Pub>> list(MissBo missBo) {
		missBo.setType(EnumModule.Miss.code);
		return missService.list(missBo);
	}
	
	/**
	 * @Description: 获取失物招领详情
	 * @author gaoxiang
	 * @date 2017年9月16日 下午10:27:39
	 */
	@RequestMapping("/detail")
	@ResponseBody CommonResp<MissBo> detail(MissBo missBo) {
		missBo.setType(EnumModule.Miss.code);
		return missService.detail(missBo);
	}
	
	@RequestMapping("detailer")
	public String detailer(MissBo missBo,ModelMap model){
		model.put("type", EnumModule.Miss);
		CommonResp<List<RecBo>> list = recService.list(missBo.getSnStamp());
		model.put("recs", list.getData());
		model.put("obj",  missService.detail(missBo));
		return "/detail/index";
	}
}
